<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>wdttb: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">wdttb
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">wdttb Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The Xilinx watchdog timer/timebase component supports the Xilinx legacy watchdog timer/timebase and window watchdog timer hardware. More detailed description of the driver operation for each function can be found in the <a class="el" href="xwdttb_8c.html">xwdttb.c</a> file.</p>
<p>The Xilinx watchdog timer/timebase driver supports both legacy and window features: Features in legacy watchdog timer:</p><ul>
<li>Polled mode</li>
<li>enabling and disabling (if allowed by the hardware) the watchdog timer</li>
<li>restarting the watchdog.</li>
<li>reading the timebase.</li>
</ul>
<p>Features in window watchdog timer:</p><ul>
<li>Configurable close and open window periods.</li>
<li>Enabling and disabling Fail Counter (FC).</li>
<li>Enabling and disabling Program Sequence Monitor (PSM).</li>
<li>Enabling and disabling Second Sequence Timer (SST).</li>
<li>Setting interrupt assertion point in second window.</li>
<li>Controlling the write access to the complete address space.</li>
<li>Always enable.</li>
</ul>
<p>The window watchdog timer always enable feature enables watchdog timer forever. It can only be disabled by applying the reset to the processor or core.</p>
<p>It is the responsibility of the application to provide an interrupt handler for the timebase and the watchdog and connect them to the interrupt system if interrupt driven mode is desired.</p>
<p>The legacy watchdog timer/timebase component ALWAYS generates an interrupt output when:</p><ul>
<li>the watchdog expires the first time</li>
<li>the timebase rolls over and ALWAYS generates a reset output when the watchdog timer expires a second time. This is not configurable in any way from the software driver's perspective.</li>
</ul>
<p>The window watchdog timer asserts an interrupt when</p><ul>
<li>the watchdog reaches at the interrupt programmed point in second window and ALWAYS generates reset output</li>
<li>when single bad event occur if fail count disable,</li>
<li>if fail counter is 7 and bad event happens.</li>
</ul>
<p>The Timebase is reset to 0 when the Watchdog Timer is enabled.</p>
<p>If the hardware interrupt signal is not connected, polled mode is the only option (using IsWdtExpired) for the legacy watchdog and GetIntrStatus option for the window watchdog. Reset output will occur for the second watchdog timeout regardless. Polled mode for the timebase rollover is just reading the contents of the register and seeing if the MSB has transitioned from 1 to 0.</p>
<p>The IsWdtExpired function is used for polling the watchdog timebase timer and it is also used to check if the watchdog was the cause of the last reset. In this situation, call Initialize then call IsWdtExpired. If the result is true watchdog timeout caused the last system reset. It is then acceptable to further initialize the component which will reset this bit.</p>
<p>The XWdtTb_GetIntrStatus is used for polling the window watchdog timer and it is used to check if interrupt programmed point has reached.</p>
<p>This driver is intended to be RTOS and processor independent. It works with physical addresses only. Any needs for dynamic memory management, threads or thread mutual exclusion, virtual memory, or cache control must be satisfied by the layer above this driver.</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
<hr/>

1.00a ecm  08/16/01 First release
1.00b jhl  02/21/02 Repartitioned driver for smaller files
1.00b rpm  04/26/02 Made LookupConfig public and added <a class="el" href="struct_x_wdt_tb___config.html" title="This typedef contains configuration information for the device. ">XWdtTb_Config</a>
1.10b mta  03/23/07 Updated to new coding style
1.11a sdm  08/22/08 Removed support for static interrupt handlers from the
              MDD file
2.00a ktn  22/10/09 The driver is updated to use HAL processor APIs/macros.
              The following macros defined in <a class="el" href="xwdttb__l_8h.html">xwdttb_l.h</a> file have been
              removed - XWdtTb_mEnableWdt, XWdtTb_mDisbleWdt,
              XWdtTb_mRestartWdt, XWdtTb_mGetTimebaseReg and
              XWdtTb_mHasReset.
              Added the XWdtTb_ReadReg and XWdtTb_WriteReg
              macros. User should XWdtTb_ReadReg/XWdtTb_WriteReg to
              achieve the desired functionality of the macros that
              were removed.
3.0   adk  19/12/13 Updated as per the New Tcl API's
3.1   sk   11/10/15 Used UINTPTR instead of u32 for Baseaddress CR# 867425.
4.0   sha  12/17/15 Added Window WDT feature with basic mode.
                    Changed XWdtTb_GetTbValue to inline function.
                    Adherence to MISRA-C guidelines.
4.0   sha  01/29/16 Added XWdtTb_Event enum type.
                    Updated <a class="el" href="struct_x_wdt_tb___config.html" title="This typedef contains configuration information for the device. ">XWdtTb_Config</a> structure with Window WDT
                    parameters.
                    Updated <a class="el" href="struct_x_wdt_tb.html" title="The XWdtTb driver instance data. ">XWdtTb</a> core structure with config parameter and
                    removed RegBaseAddress parameter.</pre><pre>                    Added following static inline functions:
                    XWdtTb_GetTbValue, XWdtTb_SetRegSpaceAccessMode,
                    XWdtTb_GetRegSpaceAccessMode, XWdtTb_GetLastEvent,
                    XWdtTb_GetFailCounter, XWdtTb_IsResetPending,
                    XWdtTb_GetIntrStatus, XWdtTb_IsWrongCfg.</pre><pre>                    Added following functions:
                    XWdtTb_AlwaysEnable, XWdtTb_ClearLastEvent,
                    XWdtTb_ClearResetPending, XWdtTb_IntrClear,
                    XWdtTb_SetByteCount, XWdtTb_GetByteCount,
                    XWdtTb_SetByteSegment, XWdtTb_GetByteSegment,
                    XWdtTb_EnableSst, XWdtTb_DisableSst, XWdtTb_EnablePsm,
                    XWdtTb_DisablePsm, XWdtTb_EnableFailCounter,
                    XWdtTb_DisableFailCounter, XWdtTb_EnableExtraProtection,
                    XWdtTb_DisableExtraProtection, XWdtTb_SetWindowCount,
                    XWdtTb_CfgInitialize.
4.0   sha  02/17/16 Removed 3.1 version and added CR# 867425 change in
                    4.0 version.
4.1   adk  23/12/16 Fix race conition in the tcl CR#966068
      ms   03/17/17 Added readme.txt file in examples folder for doxygen
                    generation.
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
